Blog

BoxLang 1.0.0 Beta 13 Launched

Luis Majano September 06, 2024

Spread the word

Luis Majano

September 06, 2024

Spread the word


Share your thoughts

This release introduces several new features aimed at enhancing the usability and functionality of BoxLang. We have closed a tremendous amounts of bugs on this release in order to bring more compatibility and stability to BoxLang. We have also started to introduce performance enhancements and more innovations as we progress towards final release. Enjoy!

What is BoxLang?

BoxLang is a modern dynamic JVM language that can be deployed on multiple runtimes: operating system (Windows/Mac/*nix/Embedded), web server, lambda, iOS, android, web assembly, and more. BoxLang combines many features from different programming languages, including Java, ColdFusion, Python, Ruby, Go, and PHP, to provide developers with a modern and expressive syntax.

It is also a drop-in replacement for Adobe ColdFusion and Lucee Engines.

How to get started?

Visit our docs at https://boxlang.ortusbooks.com and get coding today. If you want to try it out on the web then go to our online REPL at https://try.boxlang.io. You can also checkout our YouTube playlist: https://www.youtube.com/playlist?list=PLNE-ZbNnndB-40LvAbeSeT2Oi3V2gm_B8

Release Notes

Here are the latest release notes: https://boxlang.ortusbooks.com/readme/release-history/1.0.0-beta13

New Features

BL-142 Writedump output support

We have finalized the console output for the dump component, but we have also added the following ticket:

BL-508 New dump event to listen when an non-core output is detected so modules can handle it. onMissingDumpOutput

Which will allow module developers to collaborate their own output destinations for any dump in the language. This is something we have wanted for years and it's now a possibility. Just listen to the onMissingDumpOutput interception point, you get all the arguments to the BIF or component and you decide where things will go. VScode Dump Panel, here we come.

The console output has also been enhanced where everything will be pretty printed, including labels.

BL-489 Ability to mark a @BoxBif as excluded from documentation

This is more of an internal documentation process for the team.

BL-504 New dump template for Java instants

Java Instants will now be dumped nicely with an internal representation and a human readable representation.

BL-507 dump showUDFs

All the arguments for dumps are now available including this one for controlling the dumping of UDFs on classes.

Improvements

BL-497 Simplify BoxLang class dumps

BL-499 Add output and format to dump

BL-501 Some BIFs not fully supporting BigDecimal values

BL-517 access e.cause as shortcut for e.getCause()

BL-518 When creating an abstract class a new `AbstractClassException` is thrown. Great for testing frameworks

Bugs

BL-223 queryaddcolumn ignores the datatype

BL-471 Issue with #dateTimeFormat(now(),'mm-dd-yyyy')# function returning incorrect results

BL-492 structnew( "linked" ) doesn't work

BL-493 argumentCollection doesn't work with implicit constructor

BL-494 directory component must always return query

BL-498 BoxNewTransformer using hard-coded context name

BL-500 toNumeric() not accepting radix values of 2-36

BL-502 cannot cast [x to object] on generic caster when using `QuerySetCell()`

BL-505 Issue with `Duplicate()` Function Causing Null Pointer Exception in BoxLang

BL-506 final keyword not working on this scope

BL-509 directoryList() filters are not working as closures/lambdas as they are hardcoded as strings

BL-510 Cannot invoke "ortus.boxlang.runtime.types.Query.isEmpty()" because "this.query" is null

BL-511 Multiple pipe-delimited glob patterns are not working as directoryList filters

BL-512 DuplicationUtil not doing deep clones of structs according to all types

BL-513 Throwing custom type exceptions just shows `custom` as the type instead of the actual type in the throw

BL-514 remote access not treated as public but as private for functions

BL-515 Interfaces don't support multiple inheritance

BL-516 CFC source type not detected correctly for abstract or final classes

BL-521 Metadata with : in them in cfml mode not treated correctly

BL-522 xml entity parsing issue when calling `toString()` on Java objects

Add Your Comment

Recent Entries

BoxLang 1.0.0 Beta 17 Launched

BoxLang 1.0.0 Beta 17 Launched

In this release, we've introduced the exciting addition of websockets support to BoxLang through the powerful SocketBox module. This enhancement is not limited to our CommandBox Runtime but also extends to our MiniServer runtime, creating a more dynamic and efficient framework for real-time communication. For an in-depth introduction to these features, please visit our community post here.

Additionally, we've implemented several new features and improvements. We've also improved the system startup process by adding version and build date information to the MiniServer startup output (BL-607).

Luis Majano
Luis Majano
October 04, 2024
Adobe CFSummit 2024 Recap | Ortus Solutions

Adobe CFSummit 2024 Recap | Ortus Solutions

A huge thank you to everyone who visited our booth! We had the pleasure of engaging in meaningful conversations about Modern CFML and ColdFusion development, sharing insights, and exploring exciting new ideas. Visitors also got a chance to participate in some fun activities and win fabulous prizes, including our customized t-shirts, which were a huge hit!

Maria Jose Herrera
Maria Jose Herrera
October 02, 2024
BoxLang September Newsletter

BoxLang September Newsletter

Welcome to the September edition of the BoxLang Newsletter! This month has been packed with exciting updates, new features, and enhancements that continue to shape BoxLang into a robust and versatile programming language. In this edition, we highlight the latest beta releases, new integrations, and key features that have been introduced.

Maria Jose Herrera
Maria Jose Herrera
October 01, 2024